home *** CD-ROM | disk | FTP | other *** search
- $ v='f$verify(0)
- $! COMMAND FILE TO GENERATE CLASSES
- $! ARGUMENTS ARE THE SAME AS IN THE UNIX CASE
- $! @GENCLASS TYPE MODE FILE
- $! OR
- $! @GENCLASS -2 TYPE1 MODE1 TYPE2 MODE2 FILE
- $NMODES=1
- $IF P1.EQS."-2" THEN GOTO TWOMODE
- $TYPE1=P1
- $MODE1=P2
- $TYPE2=""
- $MODE2="VAL"
- $FILE=P3
- $OUTFILE=f$extract(0,1,TYPE1)+FILE
- $IF ((MODE1.EQS."REF").OR.(MODE1.EQS."VAL")) THEN GOTO PROCESS
- $GOTO ERREXIT
- $TWOMODE:
- $NMODES=2
- $TYPE1=P2
- $MODE1=P3
- $TYPE2=P4
- $MODE2=P5
- $FILE=P6
- $!OUTFILE=f$extract(0,1,TYPE1)+f$extract(0,1,TYPE2)+FILE
- $OUTFILE=f$extract(0,1,TYPE1)+FILE
- $IF ((MODE1.EQS."REF").OR.(MODE1.EQS."VAL")) THEN GOTO PROCESS1
- $GOTO ERREXIT
- $PROCESS1:
- $IF ((MODE2.EQS."REF").OR.(MODE2.EQS."VAL")) THEN GOTO PROCESS
- $!
- $PROCESS:
- $IF F$SEARCH("GNU_GXX_INCLUDE:[GEN]''FILE'.CCP").NES."" THEN -
- COPY GNU_GXX_INCLUDE:[GEN]'FILE'.CCP 'OUTFILE'.CC
- $IF F$SEARCH("GNU_GXX_INCLUDE:[GEN]''FILE'.HP").NES."" THEN -
- COPY GNU_GXX_INCLUDE:[GEN]'FILE'.HP 'OUTFILE'.H
- $OPEN OFILE$ RPLC.COM/WRITE
- $REPLACE:==EDIT/TPU/NODISPLAY/NOSECTION/COMMAND=GNU_CC:[000000]GENCLASS.TPU
- $RPC1=" "
- $IF MODE1.EQS."REF" THEN RPC1=" & "
- $RPC2=" "
- $IF MODE2.EQS."REF" THEN RPC2=" & "
- $write ofile$ "$ REPLACE:=''REPLACE'"
- $WRITE OFILE$ "$ REPLACE ''OUTFILE'.*"
- $WRITE OFILE$ TYPE1
- $WRITE OFILE$ TYPE1+RPC1
- $WRITE OFILE$ TYPE2
- $WRITE OFILE$ TYPE2+RPC2
- $DOIT:
- $CLOSE OFILE$
- $@RPLC
- $del rplc.com;/nolog
- $PUR 'OUTFILE'.*/NOLOG
- $if v then set verify
- $EXIT
- $ERREXIT:
- $WRITE SYS$OUTPUT "Bad arguments given to genclass."
- $write sys$output "Syntax is: @genclass type mode file"
- $ write sys$output "or @genclass -2 type1 mode1 type2 mode2 file"
- $if v then set verify
- $exit
-